package com.kfm.am;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Exception1 extends Throwable {

    // Throwable
    // Error Exception
        // RuntimeException 运行时异常（不受检异常）  编译时异常（受检异常）
        // 运行时异常可以不处理  编译时异常必须处理
        // 异常处理
        // try{可能出现异常的代码}catch(异常类 变量名) {处理的方式}
        // try{}catch(){}finally{}   finally 不管什么时候都会执行
        // throws 声明在方法上  访问修饰符 返回值类型 方法名（参数列表） throws 异常类 {方法体}
        // throw 在方法内部     throw 异常对象
        // throw 在本方法抛出一个异常 如果是运行时异常，本方法可以不用处理，如果是编译时异常，本方法需要处理（要么在try{}，要么throws）

    public static void test() throws java.lang.Exception {
//        try  {
//            throw new java.lang.Exception("发生异常了");
//        } catch (java.lang.Exception e) {
//            System.out.println("捕获了一个异常");
//        }
        throw new java.lang.Exception("发生异常了");
    }

    public static void test02() {
        throw new RuntimeException("一个RuntimeException");
    }

    public static void main(String[] args)  {
        try {
            test();
            conversion("2023-09-01");
        } catch (java.lang.Exception e) {
            System.out.println(e.getMessage());
        }
        test02();
    }

    public static void conversion(String str) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        String dateString = sdf.format(new Date()); // 2023-08-31
        Date parse = sdf.parse(str);
    }
}
